#ifndef APLICACION_H
#define APLICACION_H
#include <cstring>
#include <cstdlib>
#include <iostream>
#include <cctype>
#include <cstdio>
#include <fstream>
#include "nodo.h"
#include "Lista.h"
#include "usuarios.h"
#include "libros.h"
#include "pedidoUsuario.h"
#include "pedidoBiblioteca.h"
#include "biblioteca.h"
using namespace std;

class Aplicacion{
      Biblioteca biblio;
      
public:
Aplicacion();
~Aplicacion();
void menu();
int menuMostrar(int typo,string nombre);
int usuarioOperaciones(int op,Usuario *usr);
int adminOperaciones(int op,Usuario *usr);
void mostrar_usuarios(Lista<Usuario> usr);

// PEDIDO BIBLIOTECA
PedidoBiblioteca * seleccionarPedidoBiblioteca();  

//fUNCIONES PARA MOTRAR
                                                            
void verUsuario(Usuario *usr);
void verLibro(Libro *lib);
void mostrar_libros(int paginados);
void mostrar_libros(Lista<Libro> lib);
void verPedidoBiblioteca(PedidoBiblioteca *ped);
void mostrarPedidosBiblioteca();
void mostrarPedidosBiblioteca(Lista<PedidoBiblioteca>listPedBiblio );

   //pedidosUsuario
    void mostrarPedidosUsuario(Usuario *usr);
    void mostrarTodosPedidosUsuario();
    void mostrarTodosPedidosUsuario(Lista<PedidoUsuario> pedAux);
    void mostrarTodosPedidosUsuario(Lista<PedidoUsuario*> pedAux);    
    void mostrarTodosPedidosUsuarioPendientes();
    void mostrarTodosPedidosUsuarioTramitados();        
    void verPedidoUsuario(PedidoUsuario *pedUsr);
PedidoUsuario * seleccionarPedidoUsuario();

//fUNCIONES PARA SELECCIONAR
Libro * buscarLibroCategoria();

//demostracion

void demoProbando();

};
#endif

